/**
 * @author caesar
 * @date 2025/7/1
 * @apiNote
 */
//重点
/*模拟大乐透
大乐透（前区“35选5”＋后区“12选2”）
即前区在1-35之间的号码中随机选取5个，后区在1-12之间的号码中随机选取2个，组成一期的中奖号码
请用程序模拟产生一组大乐透中奖号码。
分析：本题目需要注意的是，随机数存在相同的情况，但是中奖号码不可以重复
所以我们把随机数作为索引,申请总长度的数组，在产生随机数的那个位置标为1，这样可以避免出现重复的情况
* */
public class homework1_8 {
    public static void main(String[] args) {
        int[] front = new int[35];
        int[] after = new int[12];

        for (int i = 1; i <=5; i++) {
            int index;
            do{
                index = (int)(Math.random() * front.length);
            }while(front[index]==1);
            front[index] = 1;
        }

        for (int i = 1; i <=2; i++) {
            int index;
            do{
                index = (int)(Math.random() * after.length);
            }while(after[index]==1);
            after[index] = 1;
        }
        System.out.println("本期大乐透中奖号码：");
        System.out.print("前区号码为：");
        for (int i = 0; i < front.length; i++) {
            if(front[i] == 1){
                System.out.print(i+1+" ");
            }
        }
        System.out.print("\n后区号码为：");
        for (int i = 0; i < after.length; i++) {
            if(after[i] == 1){
                System.out.print(i+1+" ");
            }
        }
        System.out.println();
    }
}
